package com.saver.core.persistence.table;

import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

public class TransaccionTable {
	
	public static final String TAG = "TransaccionTable";
	public static final String TABLA = "TRANSACCIONES";
	public static final String COL_ID_TRANSACCION = "ID_TRANSACCION";
	public static final String COL_ID_SERVIDOR = "ID_SERVIDOR"; // identificador relacionado en el servidor
	public static final String COL_ID_BANCO = "ID_BANCO";
	public static final String COL_ID_ESTABLECIMIENTO = "ID_ESTABLECIMIENTO";
	public static final String COL_ID_CATEGORIA = "ID_CATEGORIA";
	public static final String COL_ID_MONEDA = "ID_MONEDA";
	public static final String COL_MONTO = "MONTO";
	public static final String COL_FECHA_SMS = "FECHA_SMS";
	public static final String COL_FECHA_TRANSACCION = "FECHA_TRANSACCION";
	public static final String COL_NUMERO = "NUMERO";
	public static final String COL_REVISADO = "REVISADO";
	public static final String COL_FECHA_TEXT = "FECHA_TEXT";
	public static final String COL_ID_ESTABLECIMIENTOS_EQUIV = "ID_ESTABLECIMIENTOS_EQUIV";
	public static final String COL_ID_CATEGORIAS_EQUIV = "ID_CATEGORIAS_EQUIV";
	public static final String COL_ID_MONEDA_EQUIV = "ID_MONEDA_EQUIV";
	public static final String COL_TIPO = "TIPO"; // 1:ingreso 2:egreso
	public static final String COL_ESTADO = "ESTADO"; // 1:nuevo 2:actualizado 3:sincronizado con el servidor
	public static final String REFERENCIA = "REFERENCIA"; // referencia de la transaccion

	public void onCreate(SQLiteDatabase db) {
		Log.d(TAG, "creando tabla transacciones");
		
		StringBuilder builder = new StringBuilder("CREATE TABLE ").append(TABLA).append(" (")
				.append(COL_ID_TRANSACCION).append(" INTEGER PRIMARY KEY AUTOINCREMENT,")
				.append(COL_ID_SERVIDOR).append(" INTEGER,")
				.append(COL_ID_BANCO).append(" INTEGER,")
				.append(COL_ID_ESTABLECIMIENTO).append(" INTEGER,")
				.append(COL_ID_CATEGORIA).append(" INTEGER,")
				.append(COL_ID_MONEDA).append(" INTEGER,")
				.append(COL_MONTO).append(" REAL,")
				.append(COL_FECHA_SMS).append(" BIGINT,")
				.append(COL_FECHA_TRANSACCION).append(" BIGINT,")
				.append(COL_NUMERO).append(" TEXT,")
				.append(COL_REVISADO).append(" SMALLINT DEFAULT 0,")
				.append(COL_FECHA_TEXT).append(" TEXT,")
				.append(COL_ID_ESTABLECIMIENTOS_EQUIV).append(" INTEGER,")
				.append(COL_ID_CATEGORIAS_EQUIV).append(" INTEGER,")
				.append(COL_ID_MONEDA_EQUIV).append(" INTEGER,")
				.append(COL_TIPO).append(" SMALLINT,")
				.append(COL_ESTADO).append(" SMALLINT,")
				.append(REFERENCIA).append(" TEXT)");
		
		String createTable = builder.toString();
		Log.d(TAG, createTable);
		db.execSQL(createTable);
		
		Log.i(TAG, "tabla transacciones creada");
	}

}
